<?php
include_once("validadores/UsuarioValidator.php");
include_once("validadores/NombreUsuarioLibre.php");
include_once("validadores/UsuarioAprobadoValidator.php");
include_once("validadores/DateValidator.php");
include_once "clases/negocio/clase.Usuario.php";
class Login extends Action
{
	var $tpl = "tpl/inicio/tpl.Login.php";

	function inicializar(){
		$this->asignar('options_carrera', ComboCarrera());
		$this->asignarArray($_POST);
	}

	function validar(&$v)
	{
		if ($_POST['btnProcesar']){
			$v->add(new UsuarioValidator($_REQUEST['nombre'], $_REQUEST['clave'], 'usuario_clave_incorrectos'));
		}
		if($_POST['btnRegistrar']){
			$v->add(new Required('nombre', 'nombre.required'),true);
			$v->add(new Required('apellido', 'apellido.required'),true);
			$v->add(new Required('email', 'email.required'),true);
			$v->add(new Email('email', 'email.valido'),true);
			$v->add(new Required('usuario', 'usuario.required'),true);
			$v->add(new NombreUsuarioLibre($_REQUEST['usuario'], 'usuario.libre'),true);
			$v->add(new Required('padron', 'padron.required'),true);
			$v->add(new Numeric('padron', 'padron.valido'),true);
			$v->add(new Required('id_carrera', 'carrera.required'),true);
			if($_POST['fecha_nac']!="")
				$v->add(new DateValidator('fecha_nac', 'fecha_nac.valida'),true);
		}
	}

	function procesar(&$nextAction)
	{
		$usuario = new Usuario();
		$datos = $usuario->getByNombreUsuario($_POST['nombre']);

		$esAdmin=$usuario->isAdmin($datos['id'][0]);

		RegistryHelper::registerUser($datos['usuario'][0], $datos['id'][0],$esAdmin);

		$returnAction = $_GET['returnAction'];
		$returnID = $_GET['returnID'];

 		if (isset($_GET['returnAction']))
 			header("Location: ?accion=$returnAction&id=$returnID");
 		//elseif($usuario->isAdmin(RegistryHelper::getIdUsuario()))
 		elseif(RegistryHelper::isUserAdmin())
			$nextAction->setNextAction("Aprobar");
		else
			$nextAction->setNextAction("PerfilVisualizar");
	}

	function registrar()
	{
		$usuario = new Usuario();
		$usuario->setFields($_POST);
		
		if (strlen($usuario->fecha_nac) == 10)
		{
			$usuario->fecha_nac = convertirFecha2YMD($usuario->fecha_nac);
		}
		else
		{
			$usuario->fecha_nac = "0000-00-00";
		}
		$usuario->fecha_registro = date('Y-m-d');
		$usuario->fecha_aprobado = "0000-00-00";
		$usuario->aprobado = "0";
		$usuario->clave = createRandomPassword();
		$usuario->fecha_novedad="0000-00-00";
		$ok = $usuario->save();

		Application::Go("Login","solicitud.enviada.moderador");
	}

}
?>
